'''----银行ATM----
银行ATM存款取款：
1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式)；
2.提示用户输入银行卡和密码，遍历每张卡的信息验证是否成功；
3.如果用户输入正确---提示让用户选择取款.存款还是退出,并提示余额多少.  输入错误---重新输入卡号密码；
  选择取款---提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额；
  选择存款---输入存款额度,余额加上相应额度,并提示余额多少；
  选择退出---重新登录；
4.连续3次输入错误账号密码,提示银行卡已被锁定，程序结束。'''
bank_card1={'cardID':'1001','password':'123456','balance':10000}
bank_card2={'cardID':'1002','password':'666666','balance':20000}
bank_card3={'cardID':'1003','password':'888888','balance':15000}
cards=[bank_card1,bank_card2,bank_card3]
operation=[1,2,3]

tag=0
count=0
bank_card={}
#设永真
while True:
    id=input("请输入您的卡号：")
    pwd=input("请输入密码：")
    #验证登录
    for card in cards:
        if id==card['cardID'] and pwd==card['password']:
            tag=1
            bank_card=card
            break
    #登录成功
    if tag==1:
        while True:
            # for operat in operation:
                print(f"你的余额是：{bank_card['balance']}")
                print(f'''操作类型
                   1\t取款
                   2\t存款
                   3\t退出''')
                number = int(input("请输入操作类型："))

                # 取款流程
                if number == 1:
                    send_money = int(input("请输入取款额度："))
                    while True:
                        if send_money > bank_card['balance']:
                            print("余额不足！！！")
                            #余额不足的处理情况
                            unbalance_number=input(f'''1   go on\nother   exit\n:''')
                            if unbalance_number=='1':    #余额不足，重新输入
                                send_money = int(input("请重新输入取款额度："))
                                continue
                            else:   #余额不足，退出取款
                                print("退出取款！！！")
                                break
                            break
                        else:    #余额充足，取款成功
                            bank_card['balance'] = bank_card['balance'] - send_money
                            print(f"取款成功！")
                        break
                # 存款流程
                elif number == 2:
                    deposit = int(input("请输入存款金额："))
                    bank_card['balance']= bank_card['balance'] + deposit
                    print(f"存款成功！")
                    continue
                elif number == 3:
                    print("退出成功！")
                    break
                else:
                    print("请选择操作类型！")
                    break
    else:
        count+=1
        if count<3:
            print("输入错误---重新输入卡号密码!")
            print(f"您还有{3-count}次机会！")
            continue
        else:
            print("您的银行卡已被锁定！！！")
            break